package cn.plugins.generator.generate

import cn.plugins.generator.entity.TableEntity
import freemarker.template.Configuration

/**
 *
 * @描述：接口
 * @时间：2021/3/25 1:56 下午
 * @作者：jy
 * @公司：贵州中测信息技术有限公司
 */
interface IGenerate {

    /**
     * 生成方法
     *
     * @param frameworkType 对应生成框架名称：mybatis、mybatisplus
     * @param config 配置
     * @param projectPath 项目所在文件夹
     * @param dic 目录
     * @param languageType 语言类型：java、kotlin
     * @param tableInfo 表信息
     * @param dataMap 其他数据
     */
    fun freemarkerGenerate(
        frameworkType: String,
        config: Configuration,
        projectPath: String,
        packageName: String,
        dic: String,
        languageType: String,
        tableInfo: TableEntity,
        dataMap: MutableMap<String, Any?>
    )
}